// pages/zhuce/zhuce.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
      name: '',
      phone: '',
      password: '',
      degree: '',
      degreeList: ['高中及以下', '大专', '本科', '硕士', '博士及以上'],
      isFormValid: false
  },
// 输入处理
handleNameInput(e) {
  this.setData({ name: e.detail.value.trim()});
  this.checkFormValidity();
},

handlePhoneInput(e) {
  this.setData({ phone: e.detail.value.trim()});
  this.checkFormValidity();
},

handlePasswordInput(e) {
  this.setData({ password: e.detail.value.trim()});
  this.checkFormValidity();
},

// 学历选择
handleDegreeChange(e) {
  const index = e.detail.value;
    if (this.data.degreeList && index >= 0 && index < this.data.degreeList.length) {
      this.setData({
        degree: this.data.degreeList[index]
      });
      this.checkFormValidity();
    }
},

// 检查表单有效性
checkFormValidity() {
  const { phone, password, degree } = this.data;
  const isPhoneValid = /^1[3-9]\d{9}$/.test(phone);
  const isPasswordValid = password.length >= 6 && password.length <= 20;
  const isDegreeValid = degree !== '';
  this.setData({
    isFormValid: isPhoneValid && isPasswordValid && isDegreeValid
  });
},

// 跳转到登录
navigateToLogin() {
  wx.redirectTo({
    url: '/pages/denglu/denglu'
  });
},
// 将对象转换为URL编码格式
formatFormData: function(obj) {
  return Object.keys(obj).map(key => 
    `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`
  ).join('&')
},
   // 注册处理
  handleRegister() {
    if (!this.data.isFormValid) {
      wx.showToast({
        title: '请填写完整且正确的信息',
        icon: 'none'
      });
      return;
    }
    wx.showLoading({ title: '注册中...', mask: true });
    // 构造请求数据
    const postData = {
      name: this.data.name,
      phone: this.data.phone,
      password: this.data.password,
      degree: this.data.degree
    };
    console.log('发送数据：'+postData);
    wx.request({
      url: 'http://localhost:8080/user/addUser', 
      method: 'POST',
      header:{
        'Content-Type': 'application/x-www-form-urlencoded'
      },
      data: this.formatFormData(postData),
      success: (res) => {
        console.log('相应数据：'+res.data);
        if (res.statusCode === 200) {
          wx.showToast({ title: '注册成功', icon: 'success' });
          setTimeout(() => wx.reLaunch({ url: '/pages/denglu/denglu' }), 1500);
        } else {
          wx.showToast({ title: res.data.message || '注册失败', icon: 'none',
          duration:1000
        });
        }
      },
      
      complete: () => wx.hideLoading()
    });
  },

   
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})